package com.mjf.gmall.logger.controller;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import java.util.UUID;


//@Controller
@RestController // @RestController = @Controller + @ResponseBody
@Slf4j
public class LoggerController {

    @Autowired  // 自动注入
    KafkaTemplate kafkaTemplate;

    @RequestMapping("/applog")
//    @ResponseBody   // 表示返回值是 网页 还是 文本
//    public String log(@RequestParam("log") String log) {    // 获取浏览器传入的参数
    public String applog(@RequestBody String logString) {    // 获取http请求传入的参数
        System.out.println(logString);
        // @Slf4j 会帮你补充log的声明 和 实现 的代码
        log.info(logString);

        // 分流
        JSONObject jsonObject = JSON.parseObject(logString);
        if(jsonObject.getString("start") != null && jsonObject.getString("start").length() > 0) {
            // 启动日志
            kafkaTemplate.send("gmall_startup", logString);
        } else {
            // 事件日志
            kafkaTemplate.send("gmall_event", logString);
        }


        return logString;
    }

}
